730B - Minimum and Maximum - CodeForces Solution


constructive algorithms interactive *1800

Please click on ads to support us..

C++ Code:

#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <vector>
#include <iomanip>
#include <queue>
#define rep(i,n) for(int i=0;i<n;i++)
#define fs first 
#define sc second 
#define mod 1000000007
using namespace std;
int main() 
{
    //freopen("input.txt","r",stdin);
    //freopen("output.txt","w",stdout);
    //std::ios::sync_with_stdio(false);
    vector<int> big,small;
    int n,t,mn,mx;
    char c;
    cin>>t;
    rep(w,t)
    {
        big.clear();
        small.clear();
        cin>>n;
        for(int i=1;i<n;i+=2)
        {
            cout<<"? "<<i<<' '<<i+1<<endl;
            cin>>c;
            if(c=='<')
            {
                small.push_back(i);
                big.push_back(i+1);
            }
            
            else
            {
                small.push_back(i+1);
                big.push_back(i);
            }
            
        }
        if(n%2==1)
        {
            small.push_back(n);
            big.push_back(n);
        }
        mn=small[0];
        rep(i,small.size()-1)
        {
            cout<<"? "<<mn<<' '<<small[i+1]<<endl;
            cin>>c;
            if(c=='>')mn=small[i+1];
        }
        mx=big[0];
        rep(i,big.size()-1)
        {
            cout<<"? "<<mx<<' '<<big[i+1]<<endl;
            cin>>c;
            if(c=='<')mx=big[i+1];
        }
        cout<<"! "<<mn<<' '<<mx<<endl;
    }
    return 0;
}


Comments

Submit
0 Comments
More Questions

1084A - The Fair Nut and Elevator
1440B - Sum of Medians
1032A - Kitchen Utensils
1501B - Napoleon Cake
1584B - Coloring Rectangles
1562B - Scenes From a Memory
1521A - Nastia and Nearly Good Numbers
208. Implement Trie
1605B - Reverse Sort
1607C - Minimum Extraction
1604B - XOR Specia-LIS-t
1606B - Update Files
1598B - Groups
1602B - Divine Array
1594B - Special Numbers
1614A - Divan and a Store
2085. Count Common Words With One Occurrence
2089. Find Target Indices After Sorting Array
2090. K Radius Subarray Averages
2091. Removing Minimum and Maximum From Array
6. Zigzag Conversion
1612B - Special Permutation
1481. Least Number of Unique Integers after K Removals
1035. Uncrossed Lines
328. Odd Even Linked List
1219. Path with Maximum Gold
1268. Search Suggestions System
841. Keys and Rooms
152. Maximum Product Subarray
337. House Robber III